package com.procurement.orders.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 申请明细对象 pcm_application_detail
 * 
 * @author liyang
 * @date 2023-12-05
 */
public class PcmApplicationDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 明细id */
    private Long detailId;

    /** 采购申请编号 */
    @Excel(name = "采购申请编号")
    private String purchaseRequestId;

    /** 采购类型 */
    @Excel(name = "采购类型")
    private Long typePurchase;

    /** 申请日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "申请日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date applicationDate;

    /** 申请人 */
    @Excel(name = "申请人")
    private Long person;

    /** 产品编号 */
    @Excel(name = "产品编号")
    private String productNumber;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String productName;

    /** 单位 */
    @Excel(name = "单位")
    private String productUnit;

    /** 需求行号 */
    @Excel(name = "需求行号")
    private Long demandLineNumber;

    /** 需求数量 */
    @Excel(name = "需求数量")
    private Long requiredQuantity;

    /** 期望到货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "期望到货日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expectedDeliveryDate;

    /** 期望供应商id */
    @Excel(name = "期望供应商id")
    private Long expectedSupplierId;

    /** 采购申请行状态 */
    @Excel(name = "采购申请行状态")
    private Long demandLineStatus;

    /** 申请单id */
    @Excel(name = "申请单id")
    private Long requestId;

    /** 询报价需求申请编号 */
    @Excel(name = "询报价需求申请编号")
    private String inquiryDemandNumber;

    public void setDetailId(Long detailId) 
    {
        this.detailId = detailId;
    }

    public Long getDetailId() 
    {
        return detailId;
    }
    public void setPurchaseRequestId(String purchaseRequestId) 
    {
        this.purchaseRequestId = purchaseRequestId;
    }

    public String getPurchaseRequestId() 
    {
        return purchaseRequestId;
    }
    public void setTypePurchase(Long typePurchase) 
    {
        this.typePurchase = typePurchase;
    }

    public Long getTypePurchase() 
    {
        return typePurchase;
    }
    public void setApplicationDate(Date applicationDate) 
    {
        this.applicationDate = applicationDate;
    }

    public Date getApplicationDate() 
    {
        return applicationDate;
    }
    public void setPerson(Long person) 
    {
        this.person = person;
    }

    public Long getPerson() 
    {
        return person;
    }
    public void setProductNumber(String productNumber) 
    {
        this.productNumber = productNumber;
    }

    public String getProductNumber() 
    {
        return productNumber;
    }
    public void setProductName(String productName) 
    {
        this.productName = productName;
    }

    public String getProductName() 
    {
        return productName;
    }
    public void setProductUnit(String productUnit) 
    {
        this.productUnit = productUnit;
    }

    public String getProductUnit() 
    {
        return productUnit;
    }
    public void setDemandLineNumber(Long demandLineNumber) 
    {
        this.demandLineNumber = demandLineNumber;
    }

    public Long getDemandLineNumber() 
    {
        return demandLineNumber;
    }
    public void setRequiredQuantity(Long requiredQuantity) 
    {
        this.requiredQuantity = requiredQuantity;
    }

    public Long getRequiredQuantity() 
    {
        return requiredQuantity;
    }
    public void setExpectedDeliveryDate(Date expectedDeliveryDate) 
    {
        this.expectedDeliveryDate = expectedDeliveryDate;
    }

    public Date getExpectedDeliveryDate() 
    {
        return expectedDeliveryDate;
    }
    public void setExpectedSupplierId(Long expectedSupplierId) 
    {
        this.expectedSupplierId = expectedSupplierId;
    }

    public Long getExpectedSupplierId() 
    {
        return expectedSupplierId;
    }
    public void setDemandLineStatus(Long demandLineStatus) 
    {
        this.demandLineStatus = demandLineStatus;
    }

    public Long getDemandLineStatus() 
    {
        return demandLineStatus;
    }
    public void setRequestId(Long requestId) 
    {
        this.requestId = requestId;
    }

    public Long getRequestId() 
    {
        return requestId;
    }
    public void setInquiryDemandNumber(String inquiryDemandNumber) 
    {
        this.inquiryDemandNumber = inquiryDemandNumber;
    }

    public String getInquiryDemandNumber() 
    {
        return inquiryDemandNumber;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("detailId", getDetailId())
            .append("purchaseRequestId", getPurchaseRequestId())
            .append("typePurchase", getTypePurchase())
            .append("applicationDate", getApplicationDate())
            .append("person", getPerson())
            .append("productNumber", getProductNumber())
            .append("productName", getProductName())
            .append("productUnit", getProductUnit())
            .append("demandLineNumber", getDemandLineNumber())
            .append("requiredQuantity", getRequiredQuantity())
            .append("expectedDeliveryDate", getExpectedDeliveryDate())
            .append("expectedSupplierId", getExpectedSupplierId())
            .append("demandLineStatus", getDemandLineStatus())
            .append("requestId", getRequestId())
            .append("inquiryDemandNumber", getInquiryDemandNumber())
            .toString();
    }
}
